struct _SEGMENT_HEAP// Size=0x580
{
    struct RTL_HP_ENV_HANDLE EnvHandle;// Offset=0x0 Size=0x8
    unsigned long Signature;// Offset=0x8 Size=0x4
    unsigned long GlobalFlags;// Offset=0xc Size=0x4
    unsigned long Interceptor;// Offset=0x10 Size=0x4
    unsigned short ProcessHeapListIndex;// Offset=0x14 Size=0x2
    unsigned short AllocatedFromMetadata:1;// Offset=0x16 Size=0x2 BitOffset=0x0 BitSize=0x1
    struct _RTL_HEAP_MEMORY_LIMIT_DATA CommitLimitData;// Offset=0x18 Size=0x10
    unsigned long ReservedMustBeZero1;// Offset=0x18 Size=0x4
    void * UserContext;// Offset=0x1c Size=0x4
    unsigned long ReservedMustBeZero2;// Offset=0x20 Size=0x4
    void * Spare;// Offset=0x24 Size=0x4
    unsigned long LargeMetadataLock;// Offset=0x40 Size=0x4
    struct _RTL_RB_TREE LargeAllocMetadata;// Offset=0x44 Size=0x8
    unsigned long LargeReservedPages;// Offset=0x4c Size=0x4
    unsigned long LargeCommittedPages;// Offset=0x50 Size=0x4
    union _RTL_RUN_ONCE StackTraceInitVar;// Offset=0x54 Size=0x4
    struct _HEAP_RUNTIME_MEMORY_STATS MemStats;// Offset=0x80 Size=0x2c
    unsigned short GlobalLockCount;// Offset=0xac Size=0x2
    unsigned long GlobalLockOwner;// Offset=0xb0 Size=0x4
    unsigned long ContextExtendLock;// Offset=0xb4 Size=0x4
    unsigned char * AllocatedBase;// Offset=0xb8 Size=0x4
    unsigned char * UncommittedBase;// Offset=0xbc Size=0x4
    unsigned char * ReservedLimit;// Offset=0xc0 Size=0x4
    struct _HEAP_SEG_CONTEXT SegContexts[2];// Offset=0x100 Size=0x100
    struct _HEAP_VS_CONTEXT VsContext;// Offset=0x200 Size=0xc0
    struct _HEAP_LFH_CONTEXT LfhContext;// Offset=0x2c0 Size=0x2c0
};